kardeşim gson isimli googlenin json sınıfı var çek onu projene exampleside var indirdiğin yerde jsonarrayi parse edip pojo class yaz mesela student gibi.
public class student{
private string name,surname,email,tel;
public student(){}
getter...
setter..
}
http://stackoverflow.com/questions/3527264/how-to-create-a-pojo burdan ne olduguna bakabilirsin.
daha sonra jsonu parse edip ArrayList<Student> şeklinde bir collection tutarsın pojo türünden.
ListViewin customadapterine bu arraylisti parametre olarak geçeceksin içerdede direk getterli methodlardan değerleri alıp getView kısmında basacaksın.
örnek koyayım.jsonu decode edip arrayliste yükledikten sonra arrayadapterinin içi şöyle olacak.
[code]
public class CalendarDetailAdapter extends BaseAdapter {
Activity activity;
List<CalendarDetail> calendarDetailList;
public CalendarDetailAdapter(Activity activity,
List<CalendarDetail> calendarDetailList) {
// TODO Auto-generated constructor stub
this.activity = activity;
this.calendarDetailList = calendarDetailList;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return calendarDetailList.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return calendarDetailList.get(position);
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View vi = convertView;
if (vi == null) {
LayoutInflater inflater = (LayoutInflater) activity
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
vi = inflater.inflate(R.layout.calendardetail_row, null);
}
CalendarDetail calendarDetail = calendarDetailList.get(position);
TextView dayTV = (TextView) vi.findViewById(R.id.dayTV);
TextView monthTV = (TextView) vi.findViewById(R.id.monthTV);
TextView timeIntervalTV = (TextView) vi
.findViewById(R.id.timeIntervalTV);
TextView calendarDetailTV = (TextView) vi
.findViewById(R.id.calendarDetailTV);
dayTV.setText(calendarDetail.getDay());
timeIntervalTV.setText(calendarDetail.getTimeInterval());
calendarDetailTV.setText(calendarDetail.getCalendarDetail());
monthTV.setText(Config.mConvertMonthNumberofString(calendarDetail
.getMonth()));
return vi;
}
public void clear() {
calendarDetailList.clear();
}
}
[/code]
constructurda pojo classtan oluşmuş collectionu alıp getViewde nasıl set ettiğimi görebilirsin componentlere.